//package DataStructure;
//
//import java.util.Comparator;
//
//class Node
//{	private int key,value;
//	public Node left,right;
//
//	public Node(int key,int value)
//	{	Set(key,value);
//		left=null;right=null;
//	}
//	public void Set(int key,int value)
//	{	this.key=key;this.value=value;
//	}
//	public void SetLeft(Node n)
//	{	left=n;
//	}
//	public void SetRight(Node n)
//	{	right=n;
//	}
//}
//public class AVLtree<T extends Node>
//{	private Comparator compare;
//	private Node root;
//	
//	public AVLtree(Comparator<T> cmp)
//	{	compare=cmp;
//	}
//	private Node FindAppLeaf(Node rt,Node n)
//	{	while (true)
//		{	if (compare.compare(rt,n)>0)
//			{	if (rt.right==null) return rt;
//				else rt=rt.right;
//			}
//			else
//			{	if (rt.left==null) return rt;
//				else rt=rt.left;
//			}
//		}
//	}
//	public void Insert(Node n)
//	{	if (root==null)
//			root=n;
//		else
//		{	Node tmp=FindAppLeaf(root,n);
//			if (tmp.left==null)
//}
